package sessionBeanTest;

import static org.junit.Assert.*;
import interfaceBeanRemote.sessionCommentaireRemote;
import interfaceBeanRemote.sessionFondateurRemote;
import interfaceBeanRemote.sessionStartUpRemote;

import java.util.ArrayList;
import java.util.List;

import javax.naming.Context;
import javax.naming.InitialContext;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import entityBean.Commentaire;
import entityBean.Startup;


public class CommentaireTest {
	Context ctx3;
	sessionCommentaireRemote commentaireBean;
	sessionStartUpRemote startupBean;

	@Before
	public void setUp() throws Exception {

		ctx3= new InitialContext();

		ctx3.addToEnvironment(InitialContext.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
		ctx3.addToEnvironment(InitialContext.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
		ctx3.addToEnvironment(InitialContext.PROVIDER_URL,"jnp://localhost:1099");
		commentaireBean=(sessionCommentaireRemote) ctx3.lookup("sessionCommentaire/remote");
		startupBean=(sessionStartUpRemote) ctx3.lookup("sessionStartUp/remote");
	}

	@After
	public void tearDown() throws Exception {
	}


	@Test 
	public void testAddCommentaire(){
		Commentaire commentaire = new Commentaire();
		commentaire.setMessage("message");
		commentaireBean.addCommentaire(commentaire);
	}

	@Test 
	public void testFindCommentaire(){

		Commentaire commentaire2=commentaireBean.findCommentaire(1);
		assertEquals("message",commentaire2.getMessage());
	}

	@Test 
	public void testUpdateCommentaire(){

		Commentaire commentaire3=commentaireBean.findCommentaire(1);
		commentaire3.setMessage("message");
		commentaireBean.updateCommentaire(commentaire3);


		Commentaire commentaire4=commentaireBean.findCommentaire(1);
		assertEquals("message",commentaire4.getMessage());
	}

	@Test 
	public void testGetCommentaireList(){

		Commentaire commentaire5 = new Commentaire();
		commentaire5.setMessage("message");
		commentaireBean.addCommentaire(commentaire5);

		List<Commentaire>commentaires=commentaireBean.getCommentaireList();
		assertEquals("message",commentaires.get(0).getMessage());

	}

	@Test 
	public void testGetCommentaireListByIdStartUp(){
		/*
		Commentaire commentaire6 = new Commentaire();
		commentaire6.setMessage("message");
		commentaireBean.addCommentaire(commentaire6);
		Commentaire commentaire7 = new Commentaire();
		commentaire7.setMessage("message");
		commentaireBean.addCommentaire(commentaire7);

		Startup startup =new Startup();
		startup.setNom("startup");
		startupBean.addStartUp(startup);

		List<Commentaire>commentaires2 = new ArrayList<Commentaire>();
		commentaire6.setStartup(startup);
		commentaire7.setStartup(startup);
		commentaires2.add(commentaire6);
		commentaires2.add(commentaire7);
		
		commentaireBean.addCommentaire(commentaire6);
		commentaireBean.addCommentaire(commentaire7);
		
		Commentaire commentaire9 = commentaireBean.findCommentaire(1);
		Commentaire commentaire10 = commentaireBean.findCommentaire(2);
		
		//startup.setCommentaire(commentaires2);
		commentaireBean.updateCommentaire(commentaire9);
		commentaireBean.updateCommentaire(commentaire10);
		startupBean.updateStartUp(startup);

		List<Commentaire>commentaires3 = new ArrayList<Commentaire>();
		commentaires3 = commentaireBean.getCommentaireListByIdStartUp(1);
		assertEquals("message",commentaires3.get(0).getMessage());
*/
	}


}
